# -*- coding: utf-8 -*-
"""
Created on Wed Jul 26 12:38:09 2017

@author: lilin
"""

import pygame
from pygame.sprite import Group

from settings import Settings
from ship import Ship
import game_function as gf
from alien import Alien
from game_stats import GameStats
from button import Button

from scoreboard import Scoreboard

def run_game():
    #初始化pygame、设置和屏幕对象
    pygame.init()
    ai_settings=Settings()
    screen = pygame.display.set_mode(
            (ai_settings.screen_width,ai_settings.screen_height))
    pygame.display.set_caption("Alien Invasion")
    
    #创建Play按钮
    play_button = Button(ai_settings,screen,"play")
    
    #创建存储游戏统计信息的实例，并创建记分牌
    #擦黄建一个用于存储游戏统计信息的实例
    stats = GameStats(ai_settings)
    sb = Scoreboard(ai_settings,screen,stats)
    ###-------------------------------
#    bg_color=(230,230,230)
    #创建一艘飞船、一个子弹编组和一个外星人编组
    #创建一艘飞船
    ship=Ship(ai_settings,screen)
    
    #c创建一个用哪个与存储子弹的编组  
    bullets=Group()
    
    aliens=Group()
    #创建一个外星人群
    gf.create_fleet(ai_settings,screen,ship,aliens)
    
    
    
    #开始游戏主循环
    while True:
        gf.check_events(ai_settings,screen,stats,sb,play_button,ship,aliens,
                        bullets)
        if stats.game_active:
            ship.update()    
            gf.update_bullets(ai_settings,screen,stats,sb,ship,aliens,bullets)
            gf.update_aliens(ai_settings,screen,stats,sb,ship,aliens,bullets)
        
        gf.update_screen(ai_settings,screen,stats,sb,ship,aliens,bullets,
                         play_button)
        
run_game()